﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using MonoTorrent.Client;

namespace XamlTorrent.Marshall
{
    public class TorrentMarshall : ClientEngine, IList<TorrentManager>, INotifyCollectionChanged, INotifyPropertyChanged
    {
        public TorrentMarshall(EngineSettings settings) 
            : base(settings) { }

        #region INotifyCollectionChanged Members

        public event NotifyCollectionChangedEventHandler CollectionChanged;

        #endregion

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion

        #region IList<TorrentManager> Members

        public int IndexOf(TorrentManager item)
        {
            throw new NotImplementedException();
        }

        public void Insert(int index, TorrentManager item)
        {
            throw new InvalidOperationException();
        }

        public void RemoveAt(int index)
        {
            throw new NotSupportedException();
        }

        public TorrentManager this[int index]
        {
            get { throw new NotImplementedException(); }
            set { throw new InvalidOperationException(); }
        }

        #endregion

        #region ICollection<TorrentManager> Members

        public void Add(TorrentManager item)
        {
            throw new NotImplementedException();
        }

        public void Clear()
        {
            throw new NotSupportedException();
        }

        public void CopyTo(TorrentManager[] array, int arrayIndex)
        {
            throw new NotImplementedException();
        }

        public int Count
        {
            get { throw new NotImplementedException(); }
        }

        public bool IsReadOnly
        {
            get { throw new NotImplementedException(); }
        }

        public bool Remove(TorrentManager item)
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IEnumerable<TorrentManager> Members

        public IEnumerator<TorrentManager> GetEnumerator()
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IEnumerable Members

        IEnumerator IEnumerable.GetEnumerator()
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
